package com.ytjj.qmyx.admin.service.imService;

import com.ytjj.common.api.CommonPage;
import com.ytjj.common.api.CommonResult;
import com.ytjj.qmyx.admin.model.ImCustomerLabel;
import com.ytjj.qmyx.admin.model.dto.ImCustomerLabelDto;
import com.ytjj.qmyx.admin.model.vo.ImCustomerLabelVO;

import java.util.List;

public interface ImCustomerLabelService {

    /**
     * 新增标签
     * @param imCustomerLabel
     * @return
     */
    CommonResult insertLabel(ImCustomerLabel imCustomerLabel);

    /**
     * 删除标签
     * @param imCustomerLabelVO
     * @return
     */
    CommonResult deleteLabel(ImCustomerLabelVO imCustomerLabelVO);

    /**
     * 修改标签
     * @param imCustomerLabelVO
     * @return
     */
    CommonResult updateLabel(ImCustomerLabelVO imCustomerLabelVO);

    /**
     * 增加标签使用次数
     * @param userLabel
     * @return
     */
    CommonResult updateLabelUseNum(Byte userLabel);

    /**
     * 查询所有标签(分页)
     * @param
     * @return
     */
    CommonPage<ImCustomerLabelDto> selectLabel(ImCustomerLabelVO imCustomerLabelVO);

    /**
     *  查询所有标签(不分页)
     *
     * @return
     */
    List<ImCustomerLabelDto> queryLabel();

    /**
     *  根据id查询标签
     * @param userLabel
     * @return
     */
    ImCustomerLabel selectOne(Byte userLabel);

    /**
     * 减少标签使用次数
     * @param userLabel
     * @return
     */
    int downLabelUseNum(Byte userLabel);
}
